home *** CD-ROM | disk | FTP | other *** search
/ STraTOS 1997 April & May / STraTOS 1 - 1997 April & May.iso / CD01 / INTERNET / SITES / RAND / UNSPLIT / BM214SRC.ZIP / 68030 / INCLUDE / HEADER.S < prev    next >
Encoding:
Text File  |  1996-06-22  |  10.7 KB  |  354 lines

  1. *=======================================================*
  2. *    Program header:    latest update 21/11/95        *
  3. *=======================================================*
  4.  
  5. max_wad_entries        =    4096
  6.  
  7. *-------------------------------------------------------*
  8. *    Player attributes                *
  9. *-------------------------------------------------------*
  10.  
  11. player_height        =    40    ; player head-height
  12.  
  13. front_angle        =    $0000
  14. right_angle        =    $4000
  15.  
  16. walk_speed        =    $11800
  17. slide_speed        =    $10000
  18. rotate_speed        =    360<<16
  19.  
  20. *-------------------------------------------------------*
  21. *    Display engine constants            *
  22. *-------------------------------------------------------*
  23.  
  24. max_xres        =    320    
  25. max_yres        =    240
  26.  
  27. max_things        =    1024
  28. max_linedefs        =    4096
  29. max_sidedefs        =    4096
  30. max_vertices        =    2048
  31. max_segs        =    4096
  32. max_ssectors        =    2048
  33. max_nodes        =    2048
  34. max_sectors        =    1024
  35.  
  36. vbilock            =    1    ; minimum vblanks before pageswap
  37.  
  38. window_max        =    1<<10
  39.  
  40. ZMIN            =    12    ; minimum clipping Z
  41.  
  42. UPPER_TYPE        =    0    ; wall definition codes
  43. WALL_TYPE        =    1
  44. LOWER_TYPE        =    2
  45. TRANS_TYPE        =    13
  46.  
  47. maxwallruns        =    4096    ; reserve space for wall runs
  48. max_xint        =    64    ; be careful when modifying these as a few
  49. max_yint        =    64    ; mults have been optimised using shifts instead.
  50.  
  51. attrib_twosided        =    1<<2    ; twosided flag-mask
  52.  
  53. terminator        =    -1    ; general list-terminator
  54.  
  55. *-------------------------------------------------------*
  56. *    Memory allocation codes                *
  57. *-------------------------------------------------------*
  58.             rsreset
  59. *-------------------------------------------------------*
  60. STRAM_only        rs.b    1
  61. VRAM_only        rs.b    1
  62. STRAM_preferred        rs.b    1
  63. VRAM_preferred        rs.b    1
  64.  
  65. *-------------------------------------------------------*
  66. *    Wall-run ministructure                *
  67. *-------------------------------------------------------*
  68.             rsreset
  69. *-------------------------------------------------------*
  70. wall_i:            rs.w    1
  71. wall_j1:        rs.b    1
  72. wall_j2:        rs.b    1
  73. wall_u:            rs.w    1
  74. wall_dv:        rs.b    3
  75. wall_lum:        rs.b    1
  76. wall_v:            rs.w    1
  77. wall_len:        rs.b    0
  78.  
  79. *-------------------------------------------------------*
  80. *    Floor-run ministructure                *
  81. *-------------------------------------------------------*
  82.             rsreset
  83. *-------------------------------------------------------*
  84. flat_lum:        rs.w    1
  85. flat_x2:        rs.w    1
  86. flat_len:        rs.b    0
  87.  
  88. *-------------------------------------------------------*
  89. *    Vertex ministructure                *
  90. *-------------------------------------------------------*
  91.             rsreset
  92. *-------------------------------------------------------*
  93. vtx_x:            rs.w    1
  94. vtx_y:            rs.w    1
  95. vtx_len:        rs.b    0
  96.  
  97. *-------------------------------------------------------*
  98. *    Node-vertex ministructure            *
  99. *-------------------------------------------------------*
  100.             rsreset
  101. *-------------------------------------------------------*
  102. nodevtx_y2:        rs.w    1
  103. nodevtx_y1:        rs.w    1
  104. nodevtx_x1:        rs.w    1
  105. nodevtx_x2:        rs.w    1
  106. nodevtx_len:        rs.b    0
  107.  
  108. *-------------------------------------------------------*
  109. *    WAD Header structure                *
  110. *-------------------------------------------------------*
  111.             rsreset
  112. *-------------------------------------------------------*
  113. wh_sig            rs.l    1
  114. wh_entries        rs.l    1
  115. wh_directory        rs.l    1
  116. wh_len            rs.b    0
  117.  
  118. *-------------------------------------------------------*
  119. *    WAD directory structure                *
  120. *-------------------------------------------------------*
  121.             rsreset
  122. *-------------------------------------------------------*
  123. wd_offset        rs.l    1
  124. wd_size            rs.l    1
  125. wd_name            rs.b    8
  126. wd_len            rs.b    0
  127.  
  128. *-------------------------------------------------------*
  129. *    WAD Seg structure                *
  130. *-------------------------------------------------------*
  131.             rsreset
  132. *-------------------------------------------------------*
  133. seg_from:        rs.w    1
  134. seg_to:            rs.w    1
  135. seg_bam:        rs.w    1
  136. seg_linedef:        rs.w    1
  137. seg_sidedef:        rs.w    1
  138. seg_distance:        rs.w    1
  139. seg_length:        rs.l    1
  140. seg_len:        rs.b    0
  141.  
  142. *-------------------------------------------------------*
  143. *    WAD Sector structure                *
  144. *-------------------------------------------------------*
  145.             rsreset
  146. *-------------------------------------------------------*
  147. sector_floorht:        rs.w    1
  148. sector_ceilht:        rs.w    1
  149. sector_ftns:        rs.b    8
  150. sector_ctns:        rs.b    8
  151. sector_light:        rs.w    1
  152. sector_special:        rs.w    1
  153. sector_tag:        rs.w    1
  154. sector_len:        rs.b    0
  155.  
  156. *-------------------------------------------------------*
  157. *    WAD SSector structure                *
  158. *-------------------------------------------------------*
  159.             rsreset
  160. *-------------------------------------------------------*
  161. ssec_segments:        rs.w    1    
  162. ssec_first:        rs.w    1
  163. ssec_len:        rs.b    0
  164.  
  165. *-------------------------------------------------------*
  166. *    WAD Sidedef structure                *
  167. *-------------------------------------------------------*
  168.             rsreset
  169. *-------------------------------------------------------*
  170. sidedef_xoff:        rs.w    1
  171. sidedef_yoff:        rs.w    1
  172. sidedef_utns:        rs.b    8
  173. sidedef_ltns:        rs.b    8
  174. sidedef_mtns:        rs.b    8
  175. sidedef_sector:        rs.w    1
  176. sidedef_len:        rs.b    0
  177.  
  178. *-------------------------------------------------------*
  179. *    WAD Linedef structure                *
  180. *-------------------------------------------------------*
  181.             rsreset
  182. *-------------------------------------------------------*
  183. linedef_from:        rs.w    1
  184. linedef_to:        rs.w    1
  185. linedef_attrib:        rs.w    1
  186. linedef_type:        rs.w    1
  187. linedef_tag:        rs.w    1
  188. linedef_right:        rs.w    1
  189. linedef_left:        rs.w    1
  190. linedef_len:        rs.b    0
  191.  
  192. *-------------------------------------------------------*
  193. *    WAD Texture structure                *
  194. *-------------------------------------------------------*
  195.             rsreset
  196. *-------------------------------------------------------*
  197. wt_name:        rs.b    8
  198. wt_null1:        rs.w    1
  199. wt_null2:        rs.w    1
  200. wt_width:        rs.w    1
  201. wt_height:        rs.w    1
  202. wt_null3:        rs.w    1
  203. wt_null4:        rs.w    1
  204. wt_patches:        rs.w    1
  205. wt_len:            rs.b    0
  206.  
  207. *-------------------------------------------------------*
  208. *    WAD Texture patch sub-structure            *
  209. *-------------------------------------------------------*
  210.             rsreset
  211. *-------------------------------------------------------*
  212. wtp_xoff:        rs.w    1
  213. wtp_yoff:        rs.w    1
  214. wtp_index:        rs.w    1
  215. wtp_stepdir:        rs.w    1
  216. wtp_colormap:        rs.w    1
  217. wtp_len:        rs.b    0
  218.  
  219. *-------------------------------------------------------*
  220. *    Texture structure                *
  221. *-------------------------------------------------------*
  222.             rsreset
  223. *-------------------------------------------------------*
  224. tex_name        rs.b    8
  225. tex_index        rs.w    1
  226. tex_width        rs.w    1
  227. tex_height        rs.w    1
  228. tex_patches        rs.w    1
  229. tex_len            rs.b    0
  230.  
  231. *-------------------------------------------------------*
  232. *    Texture patch sub-structure            *
  233. *-------------------------------------------------------*
  234.             rsreset
  235. *-------------------------------------------------------*
  236. texp_xoff        rs.w    1
  237. texp_yoff        rs.w    1
  238. texp_index        rs.w    1
  239. texp_len        rs.b    0
  240.  
  241. *-------------------------------------------------------*
  242. *    WAD Node structure                *
  243. *-------------------------------------------------------*
  244.             rsreset
  245. *-------------------------------------------------------*
  246. node_x:            rs.w    1
  247. node_y:            rs.w    1
  248. node_dx:        rs.w    1
  249. node_dy:        rs.w    1
  250. node_rvtx:        rs.b    0
  251. node_ry2:        rs.w    1
  252. node_ry1:        rs.w    1
  253. node_rx1:        rs.w    1
  254. node_rx2:        rs.w    1
  255. node_lvtx:        rs.b    0
  256. node_ly2:        rs.w    1
  257. node_ly1:        rs.w    1
  258. node_lx1:        rs.w    1
  259. node_lx2:        rs.w    1
  260. node_right:        rs.w    1    
  261. node_left:        rs.w    1
  262. node_len:        rs.b    0
  263.  
  264. *-------------------------------------------------------*
  265. *    General display structure            *
  266. *-------------------------------------------------------*
  267.             rsreset
  268. *-------------------------------------------------------*
  269. display_sina:        rs.w    1    ; sin(pangle)
  270. display_cosa:        rs.w    1    ; cos(pangle)
  271. display_px:        rs.w    1    ; px
  272. display_py:        rs.w    1    ; py
  273. display_width:        rs.w    1    ; window x-size
  274. display_height:        rs.w    1    ; window y-size
  275. display_rheight:    rs.w    1    ; window y-size (ratio)
  276. display_hwid:        rs.w    1    ; window x-size/2
  277. display_hhig:        rs.w    1    ; window y-size/2
  278. display_hscale:        rs.w    1    ; window x-scale
  279. display_vscale:        rs.w    1    ; window y-scale
  280. display_imin:        rs.l    1    ; projected node min-x
  281. display_imax:        rs.l    1    ; projected node max-x
  282. display_segbase:    rs.w    1    ; initial seg index for ssector
  283. display_segnum:        rs.w    1    ; seg count for ssector
  284. display_segs:        rs.l    1    ; seg-array
  285. display_sectors:    rs.l    1    ; sector-array
  286. display_nodes:        rs.l    1    ; node-array
  287. display_ssectors:    rs.l    1    ; ssector-array
  288. display_sidedefs:    rs.l    1    ; sidedef-array
  289. display_linedefs:    rs.l    1    ; linedef-array
  290. display_vertices:    rs.l    1    ; vertex-array
  291. display_columns:    rs.w    1    ; columns drawn so far
  292. display_sectorptr:    rs.l    1
  293. display_firstssec:    rs.w    1
  294. display_ch:        rs.w    1
  295. display_fh:        rs.w    1
  296. display_ct:        rs.w    1
  297. display_ft:        rs.w    1
  298. display_ph:        rs.w    1
  299. *-------------------------------------------------------*
  300. *    AddWall local variable structure        *
  301. *-------------------------------------------------------*
  302. addwall_tex:        rs.l    1    ; wall texture ID
  303. addwall_i1:        rs.l    1    ; wall screen-x1 (unclipped)
  304. addwall_i2:        rs.l    1    ; wall screen-x2 (unclipped)
  305. addwall_ci2:        rs.l    1    ; wall screen-x2 (clipped)
  306. addwall_y1:        rs.l    1    ; wall top
  307. addwall_y2:        rs.l    1    ; wall bottom
  308. addwall_z1:        rs.l    1    ; wall z1
  309. addwall_z2:        rs.l    1    ; wall z2
  310. addwall_pz1:        rs.l    1    ; wall perspective-z1
  311. addwall_pz2:        rs.l    1    ; wall perspective-z2
  312. addwall_rz1:        rs.l    1    ; wall real-z1
  313. addwall_rz2:        rs.l    1    ; wall real-z2
  314. addwall_y1a:        rs.l    1    ; wall y1 (upper-edge) accumulator
  315. addwall_y2a:        rs.l    1    ; wall y2 (lower-edge) accumulator
  316. addwall_y1i:        rs.l    1    ; wall y1 (top-edge) increment
  317. addwall_y2i:        rs.l    1    ; wall y2 (lower-edge) increment
  318. addwall_tu1:        rs.l    1    ; wall u1
  319. addwall_tu2:        rs.l    1    ; wall u2
  320. addwall_t1:        rs.l    1    ; wall t1
  321. addwall_t2:        rs.l    1    ; wall t2
  322. addwall_ti:        rs.l    1    ; wall t increment
  323. addwall_hi:        rs.l    1    ; high-res (16.16) screen-x (x1)
  324. addwall_hdi:        rs.l    1    ; high-res (16.16) screen-dx (x2-x1)
  325. addwall_width:        rs.w    1    ; window x-size
  326. addwall_height:        rs.w    1    ; window y-size
  327. addwall_rheight:    rs.w    1    ; window y-size (ratio)
  328. addwall_hwid:        rs.w    1    ; window x-size/2
  329. addwall_hhig:        rs.w    1    ; window y-size/2
  330. addwall_hscale:        rs.w    1    ; window x-scale
  331. addwall_vscale:        rs.w    1    ; window y-scale
  332. addwall_runs:        rs.w    1    ; local copy of wall-runs total
  333. addwall_columns:    rs.w    1    ; local copy of column-count
  334. addwall_fc:        rs.w    1    ; floor colour/texture-ID
  335. addwall_cc:        rs.w    1    ; ceiling colour/texture-ID
  336. addwall_opaque:        rs.b    1    ; solid flag for textures with holes
  337. addwall_type:        rs.b    1    ; wall type (upper/lower/main)
  338. *-------------------------------------------------------*
  339. display_len:        rs.b    0
  340. *-------------------------------------------------------*
  341.  
  342. *-------------------------------------------------------*
  343. field_count:        =    10
  344. *-------------------------------------------------------*
  345. *    Leveldata field structure            *
  346. *-------------------------------------------------------*
  347.             rsreset
  348. *-------------------------------------------------------*
  349. field_ascii        rs.l    1
  350. field_module        rs.l    1
  351. field_len        rs.b    0
  352.  
  353. *-------------------------------------------------------*
  354.